@import url(fonts/fonts.css);
@import url(template_styles-xs.css);
@import url(template_styles-sm.css);
@import url(template_styles-md.css);
@import url(template_styles-lg.css);
@import url(template_styles-xl.css);

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
img {
	/*transform: translateZ(0);*/
}
button {
	cursor: pointer;
}
body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	position: relative;
	background-image: url(images/bg.jpg);
	background-position: center top;
}
body > .bg {
	position: absolute;
	height: 100%;
	z-index: 100;
	background-size: 100% auto;
	pointer-events: none;
	top: 0;
}
body > .bg-right {
	background-image: url(images/bg-right.png);
	right: 0;
}
body > .bg-left {
	background-image: url(images/bg-left.png);
	left: 0;
}
a {
	text-decoration: none;
	color: inherit;
}
ul {
	list-style: none;
}

.flex {
	display: flex;
}
.pointer {
	cursor: pointer;
}
.bg-transparent {
	background: transparent;
}
.bg-blue {
	background: #01A7E1;
}
.bg-orange {
	background: #FF8A00;
}
.bg-green {
	background: #B7CE6B;
}
.bg-light {
	background-color: #EEEBCF;
}
.white, .white * {
	color: white !important;
}
.black, .black * {
	color: black !important;
}
.green, .green * {
	color: #B7CE6B !important;
}
.semi-dark-green, .semi-dark-green * {
	color: #68AD06 !important;
}
.dark-green, .dark-green * {
	color: #50A300 !important;
}
.orange {
	color: #FF8A00 !important;
}
.uppercase {
	text-transform: uppercase;
}
.b-blue {
	border: 1px solid #01A7E1;
}
.b-white {
	border: 1px solid white;
}
.b-orange {
	border: 1px solid #FF8A00;
}
.red {
	color: red;
}
.transparent-orange {
	color: white;
	background: transparent;
	border: 1px solid white;
}
.orange-blue {
	border: 1px solid white;
}
.full-orange {
	border: none;
}
.transparent-orange:hover, .full-orange, .orange-blue {
	color: white;
	background: #FF8A00;
	border-color: #FF8A00;
}
.transparent-orange:active, .full-orange:active {
	border-color: #FF8A00;
}
.transparent-blue {
	color: white;
	background: transparent;
	border: 1px solid white;
}
.transparent-blue:hover, .orange-blue:hover {
	background: #01A7E1;
	border-color: #01A7E1;
}
.transparent-blue:active, .orange-blue:active {
	border-color: #01A7E1;
}
.transparent-white {
	color: #5B5B5B;
	background: #F5F5DC;
	box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.25);
	border: none;
}
.transparent-white:active {
	color: white;
	background: #FF8A00;
}
.hover-underline:hover {
	text-decoration: underline;
}
.hover-yellow:hover {
	color: #FFD178;
}
.s-script {
	font-family: "Segoe Script";
}
.m-script {
	font-family: "Magnolia Script";
}
.rotonda {
	font-family: RotondaC;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
.text-left {
	text-align: left;
}
.txt-center {
	text-align: center;
}
.p-rel {
	position: relative;
}
.no-padding-bottom {
	padding-bottom: 0;
}
.input-with-image {
	position: relative;
}
.input-with-image input {
	width: 100%;
}
.input-with-image::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	pointer-events: none;
}
.age-filter {
	display: flex;
}
.age-cube {
	background-size: 100% 200%;
	background-repeat: no-repeat;
	flex-grow: 1;
}
.age-cube, .age-cube.active:hover {
	background-position: top;
}
.age-cube:hover, .age-cube.active {
	background-position: bottom;
	}

html {
	line-height: 1.25;
}
button, a.button-like {
	border-radius: 100px;
	font-size: 1.8rem;
	padding: 0 2.658%;
	line-height: 2.15;
	text-align: center;
}
button:focus, a.button-like:focus, input:focus, textarea:focus {
	outline: none;
}
#content {
	flex-grow: 1;
}
#garland  { line-height: 0px;
}
header {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
}
.header-main {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	flex-grow: 1;
	z-index: 1;
}
header .logo {
	position: absolute;
}
header .header-string {
	position: relative;
	background-position: center;
}
header .header-string > :first-child {
	flex-grow: 1;
}
header .corner button {
	line-height: 1;
}
header .input-with-image {
	flex-grow: 1;
}
header input {
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid #68AD06;
	box-sizing: border-box;
	border-radius: 100px;
	font-family: RotondaC;
	color: #5B5B5B;
	font-size: 1.4rem;
}
header .input-with-image input[type=submit] {
	right: 0;
	background-image: url(images/search.png);
	position: absolute;
	padding: 0;
	border: none;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center left;
	border-radius: 0;
}
header .input-with-image input[type=submit]:focus {
	background-color: transparent;
}

header input:focus {
	background: white;
}
header .lk-text {
	font-size: 2rem;
	white-space: nowrap;
	line-height: 2;
}
header .title {
	font-size: 4rem;
}
body.secondary header .title {
	font-size: 7.2rem;
}
header .header-buttons {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
header .header-buttons > *:first-child {
	margin-bottom: 15px;
}
header .header-buttons > *:last-child {
	margin-top: 83px;
}
header .header-buttons button, header .header-buttons a.button-like {
	line-height: 2.15;
}

footer {
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #B7CE6B;
}
footer .footer-buttons {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
footer .footer-buttons button {
	line-height: 2.15;
}
footer button {
	border-radius: 100px;
	font-size: 1.8rem;
	padding: 0 2.658%;
	line-height: 1;
}
.footer-top {
	display: flex;
}
.footer-right {
	flex-grow: 1;
	display: flex;
}
.footer-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.footer-bottom {
	font-size: 1.4rem;
	line-height: 2.5;
}
footer .menu {
	flex-grow: 1;
}
footer .contacts {
	display: grid;
	grid-template-columns: repeat(2, auto);
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.2857;
	height: 100%;
}
footer .contacts > div {
	display: contents;
}
footer .contacts img {
	justify-self: center;
}
footer .phone {
	font-size: 1.8rem;
}
footer .feedback-link {
	color: white;
	text-transform: uppercase;
	font-size: 1.4rem;
	font-family: RotondaC;
	background-image: url(images/letter.png);
	background-repeat: no-repeat;
	display: inline-block;
	line-height: 1.785714;
	text-decoration: none;
	cursor: pointer;
}

#main-list {
	display: grid;
	grid-template-rows: repeat(3, auto);
	grid-template-columns: repeat(5, 1fr);
	grid-auto-flow: column;
	text-align: center;
	justify-items: center;
}
#main-list span {
	font-size: 1.6rem;
	line-height: 1.2;
	display: inline-table;
}
#main-list li {
	display: contents;
}
#main-list span.bold {
	line-height: 1;
}
.main-page-img {
	background-image: url(images/main-page-image.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

#content .program-header-wrap {
	position: relative;
	z-index: 1;
	box-shadow: -2px 0 15px rgba(0, 0, 0, 0.45);
}
.program-header-wrap .spring {
	position: absolute;
	width: 100%;
	left: 0;
	pointer-events: none;
	background-image: url(images/spring.png);
	background-repeat: repeat-x;
	background-position: right;
}
.program-header {
	display: flex;
	justify-content: space-between;
}
.program-header > div {
	display: flex;
	flex-direction: column;
}
.program-header .prog-h {
	font-size: 4rem;
}
.program-header .prog-desc {
	font-size: 2.2rem;
}

#program {
	background-color: #EEEBCF;
}

.about table td:first-child {
	text-align: center;
}
.contacts table img {
	max-width: 100%;
}
.about.partners > div {
	text-align: center;
}
.about.partners ul {
	display: inline-block;
}

.partners-form {
	background-color: #46A0D2;
	box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.2);
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.partners-form .partners-form-bg {
	position: absolute;
	z-index: -1;
	filter: drop-shadow(0px 4px 19px rgba(0, 0, 0, 0.4));
	transform: rotate(-6.99deg);
}
.partners-form p {
	color: #FFF1E3;
	font-family: RotondaC;
	font-size: 2rem;
	line-height: 1.25;
	text-align: center;
}
.partners-form form {
	display: flex;
}
.partners-form button[type="submit"] {
	text-transform: uppercase;
	font-size: 1.4rem;
}
.partners-form-success {
	display: none;
	color: #FF8A00;
	font-family: RotondaC;
	font-size: 3rem;
	text-align: center;
}

input[type="text"], form button {
	font-family: RotondaC;
}
input[type=text], input[type=number] {
	border-radius: 100px;
	border: none;
	box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.25);
	font-size: 1.6rem;
}

input[type=number] {
	font-size: 5.5rem;
    text-align: center;
	}

input[type="text"]::placeholder, input[type="number"]::placeholder {
	color: #BDBCBC;
}
textarea, .file {
	font-family: RotondaC;
	border: none;
	box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.25);
	font-size: 1.6rem;
	resize: none;
	color: #5B5B5B;
}
.file {
	background-color: white;
}
textarea::placeholder {
	color: #BDBCBC;
}

#content .social-block {
	background-image: url(images/hand.png);
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.social-block .social-header {
	font-size: 3.6rem;
	color: #5B5B5B;
}
.social-links {
	display: flex;
}
.social-link {
	display: block;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.fb-link {
	background-image: url(images/fb.png);
}
.ig-link {
	background-image: url(images/ig.png);
}
.vk-link {
	background-image: url(images/vk.png);
}
.ok-link {
	background-image: url(images/ok.png);
}
.yt-link {
	background-image: url(images/yt.png);
}
.tg-link {
	background-image: url(images/tg.png);
}

header .login {
	background-image: url(images/login.svg);
	cursor: pointer;
}
header .for-partners {
	text-transform: uppercase;
}

.to-catalog {
	text-align: center;
	font-size: 3.4rem;
}
.to-catalog span {
	text-transform: uppercase;
	color: white;
	font-family: RotondaC;
}
.to-catalog a {
	color: #FF8A00;
	font-size: 4.6rem;
	font-weight: bold;
}



.container.about {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.container.about span {
	margin: 25px 0;
}

.contacts table {
	width: 100%;
	margin-bottom: 25px;
}

.back-button {
	text-align: center;
}
.back-button a {
	font-family: RotondaC;
	font-size: 1.7rem;
	color: white;
	background-color: #B7CE6B;
	border-radius: 100px;
}

.partners .info .row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.partners .info .row .text {
	color: #1860AA;
	font-family: RotondaC;
	font-weight: bold;
	font-size: 2rem;
	background-color: #D9E87D;
	box-shadow: inset 0px 1px 6px rgba(0, 0, 0, 0.45);
	display: flex;
	align-items: center;
}
.e404 span {
	font-family: RotondaC;
	font-size: 1.8rem;
	color: #5B5B5B;
	display: inline-block;
}

.policy ul, .policy ol {
	list-style: inherit;
}

.main-page-img iframe {
	width: 100%;
	height: 100%;
}

.program-main-text {
	font-size: 3.4rem;
	color: #5B5B5B;
	line-height: 1.15;
}
.program-main-text a {
	font-size: 3.6rem;
}

.title_contacts {
	font-family: RotondaC;
	font-weight: bold;
}

.checkbox-promo {
    display: inline-block;
    padding-top: 15px;
color: white;
}

.checkbox-promo .chb-promo {
    width: auto;
    display: inline;
}



